🎖️GitЯра🎖️
.github/workflows/post-release-cleanup.yml renovate/kover (38f0451a) Text, 3.28 KB
Tff7b72nameTb4b4b4: Ta5d6ffPost-ReleaseTa5d6ff Ta5d6ffCleanup
Tff7b72onTb4b4b4:
Tff7b72workflow_dispatchTb4b4b4:
Tff7b72inputsTb4b4b4:
Tff7b72base_versionTb4b4b4:
Tff7b72descriptionTb4b4b4: Ta5d6ff'Ta5d6ffTheTe6edf3 Ta5d6ffbaseTe6edf3 Ta5d6ffversionTe6edf3 Ta5d6fftoTe6edf3 Ta5d6ffcleanTe6edf3 Ta5d6ffupTe6edf3 Ta5d6ff(e.g.,Te6edf3 Ta5d6ff2.3.0)Ta5d6ff'
Tff7b72requiredTb4b4b4: Ta5d6fftrue
Tff7b72typeTb4b4b4: Ta5d6ffstring
Tff7b72confirm_deletionTb4b4b4:
Tff7b72descriptionTb4b4b4: Ta5d6ff'Ta5d6ffWARNING:Te6edf3 Ta5d6ffThisTe6edf3 Ta5d6ffisTe6edf3 Ta5d6ffaTe6edf3 Ta5d6ffdestructiveTe6edf3 Ta5d6ffaction.Te6edf3 Ta5d6ffSetTe6edf3 Ta5d6fftoTe6edf3 Ta5d6fftrueTe6edf3 Ta5d6fftoTe6edf3 Ta5d6ffperformTe6edf3 Ta5d6ffdeletion.Te6edf3 Ta5d6ffDefaultsTe6edf3 Ta5d6fftoTe6edf3 Ta5d6ffaTe6edf3 Ta5d6ffdryTe6edf3 Ta5d6ffrun.Ta5d6ff'
Tff7b72requiredTb4b4b4: Ta5d6fftrue
Tff7b72typeTb4b4b4: Ta5d6ffboolean
Tff7b72defaultTb4b4b4: Ta5d6fffalse
Tff7b72permissionsTb4b4b4:
Tff7b72contentsTb4b4b4: Ta5d6ffwrite
Tff7b72jobsTb4b4b4:
Tff7b72cleanup_prereleasesTb4b4b4:
Tff7b72runs-onTb4b4b4: Ta5d6ffubuntu-24.04-arm
Tff7b72stepsTb4b4b4:
Tb4b4b4- Tff7b72nameTb4b4b4: Ta5d6ffCheckoutTa5d6ff Ta5d6ffcode
Tff7b72usesTb4b4b4: Ta5d6ffactions/checkout@v7.0.0
Tff7b72withTb4b4b4:
Tff7b72fetch-depthTb4b4b4: Ta5d6ff0
Tb4b4b4- Tff7b72nameTb4b4b4: Ta5d6ffCleanupTa5d6ff Ta5d6ffpre-releasesTa5d6ff Ta5d6ffandTa5d6ff Ta5d6fftheirTa5d6ff Ta5d6fftags
Tff7b72idTb4b4b4: Ta5d6ffcleanup_releases
Tff7b72envTb4b4b4:
Tff7b72GH_TOKENTb4b4b4: Ta5d6ff${{Ta5d6ff Ta5d6ffsecrets.GITHUB_TOKENTa5d6ff Ta5d6ff}}
Tff7b72runTb4b4b4: Tb4b4b4|
Tff7b72BASE_VERSION="${{ github.event.inputs.base_version }}"
Tff7b72TAG_PREFIX="v${BASE_VERSION}-"
Tff7b72echo "Searching for pre-releases with tag prefix '$TAG_PREFIX'."
Tff7b72RELEASES_TO_DELETE=$(gh release list --json tagName,isPrerelease --limit 100 | jq -r --arg prefix "$TAG_PREFIX" '.[] | select(.isPrerelease == true and .tagName != null and (.tagName | startswith($prefix))) | .tagName')
Tff7b72if [ -z "$RELEASES_TO_DELETE" ]; then
Tff7b72echo "No pre-releases found for base version $BASE_VERSION."
Tff7b72else
Tff7b72if [[ "${{ github.event.inputs.confirm_deletion }}" == "true" ]]; then
Tff7b72echo "!!! DELETING RELEASES AND TAGS !!!"
Tff7b72echo "The following pre-releases and their tags will be deleted:"
Tff7b72echo "$RELEASES_TO_DELETE"
Tff7b72echo "$RELEASES_TO_DELETE" | xargs -n 1 gh release delete --cleanup-tag --yes
Tff7b72else
Tff7b72echo "DRY RUN: The following pre-releases and their tags would be deleted:"
Tff7b72echo "$RELEASES_TO_DELETE"
Tff7b72fi
Tff7b72fi
Tb4b4b4- Tff7b72nameTb4b4b4: Ta5d6ffCleanupTa5d6ff Ta5d6ffdanglingTa5d6ff Ta5d6ffpre-releaseTa5d6ff Ta5d6fftags
Tff7b72envTb4b4b4:
Tff7b72GITHUB_TOKENTb4b4b4: Ta5d6ff${{Ta5d6ff Ta5d6ffsecrets.GITHUB_TOKENTa5d6ff Ta5d6ff}}
Tff7b72runTb4b4b4: Tb4b4b4|
Tff7b72BASE_VERSION="${{ github.event.inputs.base_version }}"
Tff7b72TAG_PREFIX="v${BASE_VERSION}-"
Tff7b72echo "Searching for any remaining remote pre-release tags with prefix '$TAG_PREFIX'."
Tff7b72# This finds all remote tags matching the pattern. Some may have been deleted in the previous step.
Tff7b72TAGS_TO_DELETE=$(git ls-remote --tags origin "refs/tags/${TAG_PREFIX}*" | awk '{print $2}' | sed 's|refs/tags/||')
Tff7b72if [ -z "$TAGS_TO_DELETE" ]; then
Tff7b72echo "No dangling pre-release tags found."
Tff7b72else
Tff7b72if [[ "${{ github.event.inputs.confirm_deletion }}" == "true" ]]; then
Tff7b72echo "!!! DELETING DANGLING TAGS !!!"
Tff7b72echo "The following pre-release tags will be deleted:"
Tff7b72# We pipe to xargs which will run the command for each tag.
Tff7b72# If a tag was already deleted by the previous 'release delete' step, this will fail for that tag.
Tff7b72# We add '|| true' to ignore any errors and ensure the workflow doesn't fail.
Tff7b72echo "$TAGS_TO_DELETE" | xargs -n 1 -I {} sh -c 'git push --delete origin {} || true'
Tff7b72else
Tff7b72echo "DRY RUN: The following dangling pre-release tags would be deleted:"
Tff7b72echo "$TAGS_TO_DELETE"
Tff7b72fi
Tff7b72fi
Served by rngit 1.5.2 - Generated in 0.14s